;(async function () {
  const express = require('express')

  // 引入连接数据库的代码
  const connect = require('./db/connect')

  // 引入管理员相关的路由
  const adminRouter = require('./routes/admin')

  try {
    await connect
    console.log('数据库连接成功了')
  } catch (error) {
    console.log('数据库连接失败', error)
    return
  }

  const app = express()
  // post请求请求主体的数据格式:
  // 1. application/x-www-form-urlencoded ==> url编码-->form表单默认
  // 2. application/json  --> axios发送post请求的默认格式
  // 3. mutiple/form-data  --> 使用formdata的格式
  //注意: 使用的express-formdable中间件处理数据会和application/json数据发生冲突

  app.use(express.json())

  // 配置路由
  app.use(adminRouter)

  app.listen(5000, (err) => {
    if (err) console.log('fail', err)
    else console.log('服务器启动成功')
  })
})()
